package com.zz.admin.authMenuManagement.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.util.Map;

import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import lombok.Data;

/**
 * 菜单实体类
 *
 * @author zl
 * @since 2025-11-16 20:04:12
 */
@Data
@TableName(value = "auth_menu_t", autoResultMap = true)
public class AuthMenu implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;


    /**
     * 主键
     */
    @TableId
    @TableField(value = "menu_id" )
    private String menuId;

    /**
     * 菜单名称
     */
    @TableField(value = "menu_name" )
    private String menuName;

    /**
     * 菜单类型
     */
    @TableField(value = "menu_type" )
    private String menuType;

    /**
     * 菜单描述
     */
    @TableField(value = "description" )
    private String description;

    /**
     * 角色id
     */
    @TableField(value = "role_id" )
    private String roleId;

    /**
     * 菜单路径
     */
    @TableField(value = "path" )
    private String path;

    /**
     * 菜单文件路径
     */
    @TableField(value = "url" )
    private String url;

    /**
     * 权限标识
     */
    @TableField(value = "permission" )
    private String permission;

    /**
     * 图标
     */
    @TableField(value = "icon" )
    private String icon;

    /**
     * 菜单标题
     */
    @TableField(value = "title" )
    private String title;

    /**
     * 国际化键名
     */
    @TableField(value = "title_key" )
    private String titleKey;

    /**
     * 父级id
     */
    @TableField(value = "parent_id" )
    private String parentId;

    /**
     * 排序
     */
    @TableField(value = "display_seq" )
    private Integer displaySeq;

    /**
     * 记录日志
     */
    @TableField(value = "record_log" )
    private String recordLog;

    /**
     * 所属系统
     */
    @TableField(value = "use_sys" )
    private String useSys;

    /**
     * 是否外联
     */
    @TableField(value = "link" )
    private String link;

    /**
     * 是否可见
     */
    @TableField(value = "visable" )
    private String visable;

    /**
     * 状态
     */
    @TableField(value = "status" )
    private String status;

    /**
     * 删除标识
     */
    @TableField(value = "del_flag" )
    private String delFlag;

    /**
     * 创建人
     */
    @TableField(value = "create_by" )
    private String createBy;

    /**
     * 更新人
     */
    @TableField(value = "update_by" )
    private String updateBy;

    /**
     * 创建时间
     */
    @TableField(value = "create_date" )
    private LocalDateTime createDate;

    /**
     * 更新时间
     */
    @TableField(value = "update_date" )
    private LocalDateTime updateDate;
    @TableField(value = "expand1" )
    private String expand1;
    @TableField(value = "expand2" )
    private String expand2;
    @TableField(value = "expand3" )
    private String expand3;
    @TableField(value = "expand4" )
    private String expand4;
    @TableField(value = "expand5" )
    private String expand5;


    // ================= 以下为自定义字段 =================

}
